﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Filmy.Model;

namespace Filmy.Kontroler.BazaDanych
{
    class KrajePochodzenia
    {
        public KrajePochodzenia()
        {
            dtKrajePochodzenia = new dsFilmowy.KrajePochodzeniaDataTable();
            adapter = new Filmy.Model.dsFilmowyTableAdapters.KrajePochodzeniaTableAdapter();        
        }
        
        dsFilmowy.KrajePochodzeniaDataTable dtKrajePochodzenia;
        Filmy.Model.dsFilmowyTableAdapters.KrajePochodzeniaTableAdapter adapter;
        FilmyKrajePochodzenia filmyKrajePochodzenia;
        int idOstatniegoKraj;

        public void addNewOrId(string krajePochodzenia)
        {
            string[] tabKraje = krajePochodzenia.Split(new char[] { ',' });
            filmyKrajePochodzenia = new FilmyKrajePochodzenia();
            foreach (string Kraj in tabKraje)
            {
                dsFilmowy.KrajePochodzeniaRow krajeWiersz = dtKrajePochodzenia.NewKrajePochodzeniaRow();
                krajeWiersz.Kraj = Kraj.Trim();
                int czyIstnieje = 0;
                czyIstnieje = Convert.ToInt16(adapter.SprawdzCzyIstnieje(krajeWiersz.Kraj));
                if (czyIstnieje == 0)
                {
                    dtKrajePochodzenia.AddKrajePochodzeniaRow(krajeWiersz);
                    adapter.Update(dtKrajePochodzenia);
                    idOstatniegoKraj = dtKrajePochodzenia.Last().idKP;
                }
                else
                {
                    idOstatniegoKraj = Convert.ToInt16(czyIstnieje);
                }
                filmyKrajePochodzenia.addNewOrId(tFilmy.idOstatniegoFilmu, idOstatniegoKraj);
            }
        }

        public void deleteRow(int id)
        {
            adapter.UsunRekord(id);
        }

        public string dajPoIdFilmu(int id)
        {
            dtKrajePochodzenia = adapter.GetDataBy(id);
            string krajePoch = "";
            foreach (dsFilmowy.KrajePochodzeniaRow row in dtKrajePochodzenia)
            {
                krajePoch += row[1].ToString() + ", ";
            }
            if (krajePoch.Length >= 2)
                krajePoch = krajePoch.Remove(krajePoch.Length - 2);
            return krajePoch;
        }

        public DataTable dajTabele()
        {
            adapter.Fill(dtKrajePochodzenia);
            return dtKrajePochodzenia;
        }
    }
}
